The use of digital filters is widespread for a number of reasons, not least of which is that a digital filter can perform filtering functions that may not be practically realizable with analog filters. Digital filters may be employed in signal processing circuitry as well as other circuits where the filtering effect can be expressed as a mathematical function or algorithm. In a typical application, the digital filter modifies an intermediate form of a signal by performing a mathematical operation (e.g., multiplication, addition, etc.) in which a coefficient is combined mathematically with the intermediate signal, or a portion thereof. Usually, there is more than one coefficient being mathematically combined with more than one portion of the signal and hence a set of these coefficients may be used to form a digital filter. The term “coefficient word” may be used to refer to a number having a specific number of binary digits (i.e., “bits”). Digital filters are typically designed with certain design criteria in mind, such as the operating frequency of the filter, a known quality factor (“Q”) of the filter, and a known sampling frequency. Using these criteria, a set of coefficient words can be determined to achieve the necessary filtering of a signal.
However, as digital filters are implemented in applications that require increasingly larger coefficient words, more hardware resources, and therefore higher cost, are required to realize the digital filter. For example, the audio frequency range is nominally taken to span the range from 20 Hz to 20 KHz. Typical digital audio sample rates may be 44.1 KHz, 48 KHz or higher. Using 48 KHz as a nonlimiting example, the ratio of the Nyquist limit frequency (24 KHz) to the minimum frequency in the audio frequency range (20 Hz) is 1200 to 1. When designing a digital filter with such a wide frequency ratio, large coefficient word sizes are necessary in order to prevent undesired gain error in the filter response, typically at the lowest of frequencies.
The variety of applications for digital filters continues to grow as the speed, size, complexity, and usefulness of digital filters are improved. Some of these applications include audio filters, video filters, cell phones, radios, transmitters, receivers, motor controllers, audio compact disc players, etc. Digital filters with large coefficient word sizes may require more complex and expensive field programmable gate arrays (“FPGAs”), more costly microprocessors that can operated with large coefficient word sizes, or may require designing circuitry with double the number of components in order to accommodate large coefficient word sizes. In these and other applications, it is highly desirable to minimize the use of hardware resources and so rein in the cost of the digital filter and therefore the overall cost of the device.
Accordingly, it is an object of the present disclosure to implement a method and apparatus wherein the use of a smaller coefficient word size can be realized so as to avoid having to incur the cost associated with using additional hardware resources while maintaining an acceptable gain error in the filter response.
It is another object of the present disclosure to determine a set of coefficient words for a digital filter by determining a set of coefficient words for the digital filter for a predetermined frequency, a predetermined quality factor (“Q”), and a predetermined sampling frequency, determining a gain error value for the digital filter for the set of coefficient words, and modifying the quality factor by a predetermined amount and redetermining the set of coefficient words using the modified quality factor if the determined gain error value is greater than a predetermined threshold.
It is yet another object of the present disclosure to determine sets of coefficient words for a digital filter by determining a set of coefficient words for the digital filter for a predetermined frequency value, a predetermined quality factor, and a predetermined sampling frequency, determining a gain error value for the digital filter for the set of coefficient words, if said predetermined frequency value is less than a predetermined frequency threshold and the determined gain error value is greater than a predetermined gain error threshold, modifying the quality factor by a predetermined amount and repeating the above steps using the modified quality factor, and changing the predetermined frequency value by a predetermined amount to thereby form a new frequency value and repeating the above steps using the new frequency value if the new frequency value is within a predetermined frequency band.
It is still another object of the present disclosure to determine a set of coefficient words for a digital filter using an apparatus which includes a digital filter, circuitry for determining a set of coefficient words for the digital filter for a predetermined frequency, a predetermined quality factor, and a predetermined sampling frequency, circuitry for determining a gain error value for the digital filter for the set of coefficient words, and circuitry for modifying the quality factor by a predetermined amount and redetermining the set of coefficient words using the modified quality factor if the determined gain error value is greater than a predetermined threshold.
These and many other advantages of the present disclosure will be readily apparent to one skilled in the art to which the disclosure pertains from a perusal of the claims, the appended drawings, and the following detailed description.